add interpolated strings#508
Conversation
based on DIP1036e
|
✅ PR OK, no changes in deprecations or warnings Total deprecations: 0 Total warnings: 0 Build statistics: ------ libdparse statistics ------
statistics (-before, +after)
-library size=3105644 libdparse.a
-rough build time=17s
+library size=3203546 libdparse.a
+rough build time=16s
------ DCD statistics ------
statistics (-before, +after)
client size=1048544 bin/dcd-client
-server size=3089720 bin/dcd-server
+server size=3098880 bin/dcd-server
rough build time=78s
-DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.86
-DCD run_tests.sh Maximum resident set size (kbytes): 41748
+DCD run_tests.sh Elapsed (wall clock) time (h:mm:ss or m:ss): 0:08.87
+DCD run_tests.sh Maximum resident set size (kbytes): 46060
short requests: (230x)
- min request time = 0.010ms
- 10th percentile = 0.140ms
- median time = 0.459ms
- 90th percentile = 0.783ms
- max request time = 4.367ms
+ min request time = 0.009ms
+ 10th percentile = 0.121ms
+ median time = 0.464ms
+ 90th percentile = 0.772ms
+ max request time = 1.806ms
long requests over 10ms: (51x)
- min request time = 21.416ms
- 10th percentile = 22.181ms
- median time = 23.954ms
- 90th percentile = 25.846ms
- max request time = 31.331ms
+ min request time = 20.374ms
+ 10th percentile = 20.769ms
+ median time = 23.052ms
+ 90th percentile = 26.430ms
+ max request time = 32.173ms
top 5 GC sources in server:
bytes allocated, allocations, type, function, file:line
78117888 844 void[] std.array.Appender!(const(TokenStructure!(ubyte, "import dparse.lexer:TokenTriviaFields,TriviaToken; mixin TokenTriviaFields;"))[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3634
15257216 476788 void[] core.lifetime._d_newitemT!(Data)._d_newitemT /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/druntime/import/core/lifetime.d:2833
14316800 164422 void[] std.array.Appender!(DSymbol*[]).Appender.ensureAddable.__lambda9 /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3634
9773344 305417 Data std.array.Appender!string.Appender.this /opt/hostedtoolcache/dc/dmd-2.105.2/x64/dmd2/linux/bin64/../../src/phobos/std/array.d:3509
7372208 281 ubyte[] msgpack.unpacker.Unpacker.InternalBuffer!().initializeBuffer ../../../../.dub/packages/msgpack-d/1.0.4/msgpack-d/src/msgpack/common.d:628Full build output |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #508 +/- ##
==========================================
- Coverage 84.25% 83.80% -0.46%
==========================================
Files 11 12 +1
Lines 8561 8841 +280
==========================================
+ Hits 7213 7409 +196
- Misses 1348 1432 +84
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
| assert(l.empty); | ||
| } | ||
|
|
||
| checkExactlyOneToken(`i"hello"`); |
There was a problem hiding this comment.
looks like your tests don't include iq{} and i`` so might want to add this (pushed up to the dmd thing just a couple days ago. i think that is all the string forms i intend to add at this time, though i imagine eventually someone will ask for the other delimited forms too lol)
There was a problem hiding this comment.
I also added c/w/d literal suffix, I saw that was dismissed in the PR?
There was a problem hiding this comment.
Yeah, it lexes and parses them, but then issues a semantic error.
|
tbh took a lil more code than i thought it would but still... nice. |
|
closing in favor of #510 |
based on DIP1036e
needs more tests still and actual usage in e.g. DCD to see how it behaves
TODO: